'''
银行系统流程
1.输入账号          不会
2.输入密码          不会
3.核对账号密码      不会
4.进入介面
5.查看金额
6.存款
7.取款
8.退出

'''
'''
参考1.09的综合案例中的学生信息管理，来实现一个自动取款机的存取款模拟效果。要求有登陆和退出、查询余额、取钱，存钱等操作。 
'''

def query():
	'''
	CSDN银行ATM欢迎界面的函数
	'''
	print("="*14,"CSDN 个人银行系统","="*14)
	print("{:^42}".format("欢迎来到个人银行系统"))
	print("="*42)


#定义一个用于存放个人信息的列表
userlist=[
{'name':'zhangsan','money':20,'password':'000000','numbers':'0000000000'},
{'name':'lisi','money':200,'password':'000000','numbers':'1111111111'},
{'name':'wangwu','money':2000,'password':'000000','numbers':'2222222222'}]

#定义验证银行卡号与密码匹配的函数
def check(user_name,user_password):
	'''
	验证银行卡号与密码匹配的函数
	'''
	for i in range(len(userlist)):
		if user_name == userlist[i]["numbers"]: #and userpassword == userlist[i]["password"]:
	  		return i 
	  #银行卡号与密码匹配则返回该用户在ATM系统内的ID值，否则返回None值

#定义用户登录成功后操作界面的函数
def interface():
  '''
  用户登录成功后操作界面的函数
  '''
  print("="*14,"用户操作界面","="*14,"\n")
  print("{0:2} {1:12} {2:12}".format(" ","1. 查询","2. 取款"),"\n")
  print("{0:2} {1:10} {2:12}".format(" ","3. 存款","4. 退出"),"\n")
  print("="*42,"\n")

#定义用户取款的函数
def money1(amount):
  '''
  用户取款的函数
  '''
  i = userlist[user_id]["money"]-int(amount)
  if i>=0:
    userlist[user_id]["money"]-=int(amount)
  else:
    print("账户余额不足\n")
#定义用户存款的函数
def money2(amount):
  '''
  用户存款的函数
  '''
  userlist[user_id]["money"]+=int(amount)

#定义用户查询信息的函数
def inquire(user_id):
  '''
  用户查询信息的函数
  '''
  print("="*14,"账号查询界面","="*14,"\n")
  print("|{0:<4}|{1:<18}|{2:<9}|\n".format("账户名","卡号","余额(RMB)"))
  print("|{0:<5}|{1:<20}|{2:<11}|\n".format(userlist[user_id]["name"],userlist[user_id]["numbers"],userlist[user_id]["money"]))

while True:
	query()
	user_name = input("请输入您的10位银行卡卡号：")
	print()
	print("请输入您的6位银行卡密码:", end=' ', flush=True)
	user_password=input('不会校验密码部分，不会做，按回车继续')
	user_id = check(user_name,user_password)#验证银行卡号与密码是否匹配
	if user_id != None:
		print("登录成功\n")
	while True:
		interface()
		key=input("请输入对应的选择信息：")
		#根据键盘值，判断并执行对应的操作
		if key == "1":
			inquire(user_id)
			input("按任意键返回上一级目录:")
			print("")
		elif key == "2":
			print("="*14,"账号取款界面","="*14,"\n")
			amount = input("请输入取款金额：")
			print("")
			money1(amount)
			inquire(user_id)
			input("按任意键返回上一级目录:")
			print("")
		elif key == "3":
			print("="*14,"账号存款界面","="*14,"\n")
			amount = input("请输入存款金额：")
			print("")
			money2(amount)
			inquire(user_id)
			input("按任意键返回上一级目录:")
			print("")
		elif key=="4":
			print("="*14,"欢迎下次光临","="*14,"\n")
			break
		else:
			print("==========无效的信息！==========")
